Voice over Long Term Evolution (VoLTE) is emerging as a preferred solution for the need to support real time voice traffic in Internet Protocol (IP) networks. The move towards all-IP and Voice over Internet Protocol (VoIP) in wireless access networks (such as LTE, and the like) will dramatically increase overhead due to headers. For example, the VoIP is carried by the Real-time Transport Protocol/User Datagram Protocol/Internet Protocol (RTP/UDP/IP) suite. Assuming a cellular codec encoding rate of 12.2 kbps (kilobits per second), there is a payload (voice packets) of 34 bytes and a header overhead of 40 bytes for RTP/UDP/IPv4 (in case of IP version four). This is an enormous overhead, and is clearly an unacceptable use of precious wireless bandwidth. This is especially true because, for the VOIP, each User Equipment (UE) sends one RTP/UDP/IP frame every 20 ms (milliseconds). Further, these header fields do not change throughout the packet stream. Hence, these RTP/UDP/IP headers are compressed using a Robust Header Compression (ROHC) scheme, which is enabled by a network operator during the VoLTE call for compression of the header fields, which otherwise leads to enormous overhead.
During a VoLTE call, the network operator enables the ROHC scheme on all the voice packets sent by the UE. When the VoLTE call is established, a ROHC compressor in the UE starts compression in an Initial and Refresh (IR) state. In this state, the ROHC compressor sends complete IP/UDP/RTP header fields along with ROHC header in an IR ROHC packet. The ROHC compressor moves to further states after sending ‘n’ number of IR ROHC packets in the IR state for establishing a context with a ROHC decompressor, which is present at the receiver side in the UE. When the ROHC compressor moves to next state, such as either Full Context (FC) or Static Context (SC), the ROHC compressor sends packets other than the IR ROHC packet. In certain embodiments, the ROHC compressed packet is of 2-10 bytes range. As the VoLTE call progresses, the ROHC compressor works effectively in compressing the packets to a minimum of 4 bytes and sends those compressed packets to the ROHC decompressor.
In the existing system, when the VoLTE call is in progress and if the user switches the VoLTE call to a video call, the audio path switches to an Application Processor (AP) from a Communication Processor (CP), which is handling the VoLTE call. When the audio path is switched to the AP, there is no synchronization between an audio application in AP and the CP, all the RTP header fields are reset to new values. In certain embodiments, the AP generates new RTP Synchronization Source (RTP SSRC) and RTP Sequence Number (SN)/Time Stamp (TS) are also restarted from the beginning Hence, all the RTP header fields are new, when the call context is switched between AP and CP. When the RTP header fields are new, both dynamic & static fields, the ROHC compressor has to move back to IR state to update both dynamic and static header fields in its compressor context.
Further, when the ROHC compressor moves to IR state during call switch (from VoLTE call to the video call), this results in degrade of ROHC efficiency (as ROHC has to update its context and switches back to the IR state), which further leads to degrade in ROHC compression rate (rate at which ROHC is compressing the IP/UDP/RTP headers).
In certain embodiments, when the video call is in progress and if the user switches the video call to VoLTE call, the audio path switches to the CP from the AP, which is handling the video call. When the audio path is switched to the CP, there is no synchronization between the audio application in the AP and the CP, all the RTP header fields are reset to new values. In certain embodiments, the CP generates new SSRC (RTP SSRC) and RTP SN/TS are also restarted from the beginning Hence, all the RTP header fields are new when the call context is switched between the AP and the CP. When the RTP header fields are changed, both dynamic & static fields, the ROHC compressor has to move back to IR state to update both dynamic and static header fields in its compressor context.
Further, when the ROHC compressor moves to the IR state during call switch, from the video call to the VoLTE call, this degrades ROHC efficiency (as ROHC has to update its context and switches back to the IR state), which further leads to degrade in the ROHC compression rate (the rate at which ROHC is compressing the IP/UDP/RTP headers).